package com.ruoyi.system.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 每日记录对象 stock_day
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public class StockDayVO extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键,代码+年月日 */
    private Long recordId;

    /** 代码 */
    @Excel(name = "代码")
    private String stockCode;

    /** 名称 */
    @Excel(name = "名称")
    private String stockName;

    /** 涨幅 */
    @Excel(name = "涨幅")
    private Double rate;

    /** 现价 */
    @Excel(name = "现价")
    private BigDecimal closePrice;

    /** 涨跌 */
    @Excel(name = "涨跌")
    private BigDecimal changePrice;

    /** 开盘 */
    @Excel(name = "开盘")
    private BigDecimal openPrice;

    /** 最高 */
    @Excel(name = "最高")
    private BigDecimal high;

    /** 最低 */
    @Excel(name = "最低")
    private BigDecimal low;

    /** 换手 */
    @Excel(name = "换手")
    private Double changeRatio;

    /** 首次涨停时间 */
    @Excel(name = "首次涨停时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date limitBeginTime;

    /** 涨停原因 */
    @Excel(name = "涨停原因")
    private String limitCause;

    /** 涨停开板次数 */
    @Excel(name = "涨停开板次数")
    private Long limitOpen;

    /** 最终涨停时间 */
    @Excel(name = "最终涨停时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date limitEndTime;

    /** 连续涨停天数 */
    @Excel(name = "连续涨停天数")
    private Long limitDays;

    /** 涨停封单额 */
    @Excel(name = "涨停封单额")
    private String limitSeal;

    /** 涨停封成比 */
    @Excel(name = "涨停封成比")
    private String limitRatio;

    /** 流通市值 */
    @Excel(name = "流通市值")
    private Long freeAmount;

    /** 所属行业 */
    @Excel(name = "所属行业")
    private String category;

    /** 细分行业 */
    @Excel(name = "细分行业")
    private String subIndustry;

    /** 竞价涨幅 */
    @Excel(name = "竞价涨幅%")
    private BigDecimal pkRange;

    /** 早盘竞价量 */
    @Excel(name = "早盘竞价量")
    private Long pkTurnover;

    /** 早盘竞价金额 */
    @Excel(name = "早盘竞价金额")
    private Long pkAmount;

    /** 早盘未匹配量 */
    @Excel(name = "早盘未匹配量")
    private Long pkNoTurnover;

    /** 早盘未匹配金额 */
    @Excel(name = "早盘未匹配金额")
    private Long pkNoAmount;

    /** 数据创建时间 */
    private Date crteTime;

    /** 数据更新时间 */
    private Date updtTime;

    public void setRecordId(Long recordId) 
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }
    public void setStockCode(String stockCode) 
    {
        this.stockCode = stockCode;
    }

    public String getStockCode() 
    {
        return stockCode;
    }
    public void setStockName(String stockName) 
    {
        this.stockName = stockName;
    }

    public String getStockName()
    {
        return stockName;
    }
    public void setRate(Double rate)
    {
        this.rate = rate;
    }

    public Double getRate()
    {
        return rate;
    }
    public void setClosePrice(BigDecimal closePrice) 
    {
        this.closePrice = closePrice;
    }

    public BigDecimal getClosePrice() 
    {
        return closePrice;
    }
    public void setChangePrice(BigDecimal changePrice) 
    {
        this.changePrice = changePrice;
    }

    public BigDecimal getChangePrice() 
    {
        return changePrice;
    }
    public void setOpenPrice(BigDecimal openPrice) 
    {
        this.openPrice = openPrice;
    }

    public BigDecimal getOpenPrice() 
    {
        return openPrice;
    }
    public void setHigh(BigDecimal high)
    {
        this.high = high;
    }

    public BigDecimal getHigh()
    {
        return high;
    }
    public void setLow(BigDecimal low)
    {
        this.low = low;
    }

    public BigDecimal getLow()
    {
        return low;
    }
    public void setChangeRatio(Double changeRatio)
    {
        this.changeRatio = changeRatio;
    }

    public Double getChangeRatio()
    {
        return changeRatio;
    }
    public void setLimitBeginTime(Date limitBeginTime)
    {
        this.limitBeginTime = limitBeginTime;
    }

    public Date getLimitBeginTime()
    {
        return limitBeginTime;
    }
    public void setLimitCause(String limitCause) 
    {
        this.limitCause = limitCause;
    }

    public String getLimitCause() 
    {
        return limitCause;
    }
    public void setLimitOpen(Long limitOpen) 
    {
        this.limitOpen = limitOpen;
    }

    public Long getLimitOpen() 
    {
        return limitOpen;
    }
    public void setLimitEndTime(Date limitEndTime)
    {
        this.limitEndTime = limitEndTime;
    }

    public Date getLimitEndTime()
    {
        return limitEndTime;
    }
    public void setLimitDays(Long limitDays) 
    {
        this.limitDays = limitDays;
    }

    public Long getLimitDays() 
    {
        return limitDays;
    }
    public void setLimitSeal(String limitSeal)
    {
        this.limitSeal = limitSeal;
    }

    public String getLimitSeal()
    {
        return limitSeal;
    }
    public void setLimitRatio(String limitRatio)
    {
        this.limitRatio = limitRatio;
    }

    public String getLimitRatio()
    {
        return limitRatio;
    }
    public void setFreeAmount(Long freeAmount) 
    {
        this.freeAmount = freeAmount;
    }

    public Long getFreeAmount() 
    {
        return freeAmount;
    }
    public void setCategory(String category)
    {
        this.category = category;
    }

    public String getCategory()
    {
        return category;
    }
    public void setSubIndustry(String subIndustry) 
    {
        this.subIndustry = subIndustry;
    }

    public String getSubIndustry() 
    {
        return subIndustry;
    }
    public void setPkRange(BigDecimal pkRange) 
    {
        this.pkRange = pkRange;
    }

    public BigDecimal getPkRange() 
    {
        return pkRange;
    }
    public void setPkTurnover(Long pkTurnover) 
    {
        this.pkTurnover = pkTurnover;
    }

    public Long getPkTurnover() 
    {
        return pkTurnover;
    }
    public void setPkAmount(Long pkAmount) 
    {
        this.pkAmount = pkAmount;
    }

    public Long getPkAmount() 
    {
        return pkAmount;
    }
    public void setPkNoTurnover(Long pkNoTurnover) 
    {
        this.pkNoTurnover = pkNoTurnover;
    }

    public Long getPkNoTurnover() 
    {
        return pkNoTurnover;
    }
    public void setPkNoAmount(Long pkNoAmount) 
    {
        this.pkNoAmount = pkNoAmount;
    }

    public Long getPkNoAmount() 
    {
        return pkNoAmount;
    }
    public void setCrteTime(Date crteTime) 
    {
        this.crteTime = crteTime;
    }

    public Date getCrteTime() 
    {
        return crteTime;
    }
    public void setUpdtTime(Date updtTime) 
    {
        this.updtTime = updtTime;
    }

    public Date getUpdtTime() 
    {
        return updtTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("stockCode", getStockCode())
            .append("stockName", getStockName())
            .append("rate", getRate())
            .append("closePrice", getClosePrice())
            .append("changePrice", getChangePrice())
            .append("openPrice", getOpenPrice())
            .append("high", getHigh())
            .append("low", getLow())
            .append("changeRatio", getChangeRatio())
            .append("limitBeginTime", getLimitBeginTime())
            .append("limitCause", getLimitCause())
            .append("limitOpen", getLimitOpen())
            .append("limitEndTime", getLimitEndTime())
            .append("limitDays", getLimitDays())
            .append("limitSeal", getLimitSeal())
            .append("limitRatio", getLimitRatio())
            .append("freeAmount", getFreeAmount())
            .append("category", getCategory())
            .append("subIndustry", getSubIndustry())
            .append("pkRange", getPkRange())
            .append("pkTurnover", getPkTurnover())
            .append("pkAmount", getPkAmount())
            .append("pkNoTurnover", getPkNoTurnover())
            .append("pkNoAmount", getPkNoAmount())
            .append("crteTime", getCrteTime())
            .append("updtTime", getUpdtTime())
            .toString();
    }
}
